#ifndef MYDATABASE_H
#define MYDATABASE_H
#include<QtSql>
#include<QSqlDatabase>
#include<QSqlQuery>
class MyDatabase
{
public:
    MyDatabase();
    ~MyDatabase();


    //增加
    static void insertDataPatient(const QMap<QString,QString>&data);
    static void insertDataDoctor(const QMap<QString,QString>&data);
    static void insertDataDepartment(const QMap<QString,QString>&data);
    static void insertDataHealthassessment(const QMap<QString,QString>&data);
    static void insertDataMedicialrec(const QMap<QString,QString>&data);
    static void insertDataPrescription(const QMap<QString,QString>&data);
    static void insertDataRegistration(const QMap<QString,QString>&data);
    //删除
    static void deleteDataPatient(const QMap<QString,QString>&data);
    static void deleteDataDoctor(const QMap<QString,QString>&data);
    static void deleteDataDepartment(const QMap<QString,QString>&data);
    static void deleteDataHealthassessment(const QMap<QString,QString>&data);
    static void deleteDataMedicialrec(const QMap<QString,QString>&data);
    static void deleteDataPrescription(const QMap<QString,QString>&data);
    static void deleteDataRegistration(const QMap<QString,QString>&data);
    //修改
    static void modifiDataPatient(const QMap<QString,QString>&data);
    static void modifiDataDoctor(const QMap<QString,QString>&data);
    static void modifiDataDepartment(const QMap<QString,QString>&data);
    static void modifiDataHealthassessment(const QMap<QString,QString>&data);
    static void modifiDataMedicialrec(const QMap<QString,QString>&data);
    static void modifiDataPrescription(const QMap<QString,QString>&data);
    static void modifiDataRegistration(const QMap<QString,QString>&data);
    //查找
    static QList<QMap<QString, QString>> checkDataPatient(const QMap<QString,QString>&data);
    static QList<QMap<QString, QString>> checkDataDoctor(const QMap<QString,QString>&data);
    static QList<QMap<QString, QString>> checkDataDepartment(const QMap<QString,QString>&data);
    static QList<QMap<QString, QString>> checkDataHealthassessment(const QMap<QString,QString>&data);
    static QList<QMap<QString, QString>> checkDataMedicialrec(const QMap<QString,QString>&data);
    static QList<QMap<QString, QString>> checkDataPrescription(const QMap<QString,QString>&data);
    static QList<QMap<QString, QString>> checkDataRegistration(const QMap<QString,QString>&data);
    //查找医生信息
    static QList<QMap<QString, QString>> checkDataDoctorinfo(const QMap<QString,QString>&data);
    //转换函数
    //QMap 转化为 QByteArray
    static QByteArray mapToByteArrayCustom(const QMap<QString, QString>& map);

    //QByteArray 转化为 QMap;
    static QMap<QString, QString> byteArrayToMapCustom(const QByteArray& byteArray);

    //QMap数组转化成 QByteArray
    static QByteArray convertQMapArrayToByteArrayCustom(const QList<QMap<QString, QString>>& mapArray);

    //将QByteArray转化为QMap数组
    static QList<QMap<QString, QString>> convertByteArrayToQMapArrayCustom(const QByteArray& byteArray);

private:
    bool ConnectDB();
    bool CreateTable();
    QSqlDatabase db;
};

#endif // MYDATABASE_H

